import java.util.*;
/*如果数组的每一对相邻元素都是两个奇偶性不同的数字，则该数组被认为是一个 特殊数组 。
你有一个整数数组 nums 和一个二维整数矩阵 queries，对于 queries[i] = [fromi, toi]，
请你帮助你检查 子数组 nums[fromi..toi] 是不是一个 特殊数组 。
返回布尔数组 answer，如果 nums[fromi..toi] 是特殊数组，则 answer[i] 为 true ，否则，answer[i] 为 false
输入：nums = [3,4,1,2,6], queries = [[0,4]]
输出：[false] */
public class Text {
    public static boolean[] check(int[] nums, int[][] queries) {
        int n = nums.length;
        int[] arr = new int[n];
        for (int i = 1; i < n; i++) {
            arr[i] = arr[i - 1] + (nums[i - 1] % 2 == nums[i] % 2 ? 1 : 0); // 前缀和为零则特殊，＞0则非特殊
        }
        int m = queries.length;
        boolean[] a = new boolean[m];
        for (int i = 0; i < m; i++) {
            int q1 = queries[i][0];
            int q2 = queries[i][1];
            a[i] = arr[q1] == arr[q2];
        }
        return a;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] nums = new int[n];
        for (int i = 0; i < n; i++) {
            nums[i] = sc.nextInt();
        }
        int m = sc.nextInt();
        int[][] queries = new int[m][2];
        for (int i = 0; i < m; i++) {
            queries[i][0] = sc.nextInt();
            queries[i][1] = sc.nextInt();
        }
        boolean[] res = check(nums, queries);
        System.out.println(Arrays.toString(res));
    }
}